package com.example.pedidos_cliente;

import java.util.ArrayList;
import java.util.List;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;

import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.ListView;

import com.example.pedidos_cliente.beans.Produto;
import com.example.pedidos_cliente.util.ProdutoAdapter;
import com.example.pedidos_cliente.util.XMLParser;

public class ListaProdutos extends ListActivity {

	static final String URL = "http://192.168.43.122/restauranteandroid/cardapio.php";//"http://androidsenac.zz.mu/cardapio.php";//
	private static final int ADICIONAR_PEDIDO = 1;
	static final String KEY_ITEM = "produto";
	static final String KEY_ID = "id";
	static final String KEY_NOME = "nome";
	static final String KEY_DESCRICAO = "descricao";
	static final String KEY_PRECO = "preco";
	private List<Produto> produtos;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		produtos = new ArrayList<Produto>();
		XMLParser parser = new XMLParser();
		String xml = parser.getXmlFromUrl(URL);
		Document doc = parser.getDomElement(xml);
		NodeList nl = doc.getElementsByTagName(KEY_ITEM);

		for (int i = 0; i < nl.getLength(); i++) {
			Element e = (Element) nl.item(i);

			Produto produto = new Produto();
			produto.setId(Integer.valueOf(parser.getvalue(e, KEY_ID)));
			produto.setNome(parser.getvalue(e, KEY_NOME));
			produto.setDescricao(parser.getvalue(e, KEY_DESCRICAO));
			produto.setPreco(parser.getvalue(e, KEY_PRECO));

			produtos.add(produto);
		}

		ProdutoAdapter adapter = new ProdutoAdapter(getApplication(), produtos);
		setListAdapter(adapter);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	@Override
	protected void onListItemClick(ListView l, View v, int position, long id) {
		super.onListItemClick(l, v, position, id);

		Produto produto = produtos.get(position);
		Intent i = new Intent(this, AdicionarProduto.class);
		i.putExtra("produto", produto);
		startActivityForResult(i, ADICIONAR_PEDIDO);
	}

	/*@Override
	public void onBackPressed() {
		setResult(RESULT_OK);
		finish();
	}*/

	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		super.onActivityResult(requestCode, resultCode, data);
		if (resultCode == RESULT_OK) {
			setResult(RESULT_OK);
			finish();
		}
		/*setResult(RESULT_CANCELED);
		finish();*/
	}
}
